/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package serverb.negocio;

import server.excepciones.CitaYaExistenteException;
import java.rmi.RemoteException;
import java.sql.SQLException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Vector;
import server.dominio.Beneficiario;
import server.dominio.Cita;
import server.excepciones.BeneficiarioInexistenteException;
import server.excepciones.CitaNoValidaException;
import server.excepciones.FechaNoValidaException;
import server.excepciones.MedicoInexistenteException;
import server.excepciones.VolanteNoValidoException;

/**
 *
 * @author tpaxle
 */
public class Controlador_G_CitasB {
    private Fachada_ServidorB fachada_basedats;
    private Controlador_ServidorB c_servidor;

    private Controlador_G_UsuariosB c_usuarios;
    private Controlador_HorarioB c_horario;
    private DateFormat formateador;

    public Controlador_G_CitasB(Controlador_ServidorB c_servidor, Controlador_G_UsuariosB c_usuarios, Controlador_HorarioB c_horario) {
        this.c_servidor = c_servidor;
        this.c_usuarios = c_usuarios;
        this.c_horario = c_horario;

        fachada_basedats= new Fachada_ServidorB();
        formateador= new SimpleDateFormat("yyyy-MM-dd HH:mm");
    }

    public void pedirCita(Beneficiario beneficiario, String idMedico, Date fechayHora) throws RemoteException, BeneficiarioInexistenteException, MedicoInexistenteException, FechaNoValidaException, CitaYaExistenteException, SQLException, Exception {
        fachada_basedats.pedirCita(beneficiario, idMedico, formateador.format(fechayHora));
    }

    public void pedirCita(Beneficiario beneficiario, long idVolante, Date fechayHora) throws RemoteException, BeneficiarioInexistenteException, MedicoInexistenteException, FechaNoValidaException, VolanteNoValidoException, SQLException, Exception {
        throw new UnsupportedOperationException("Not supported yet.");
    }



    public void anularCita(Cita cita) throws RemoteException, CitaNoValidaException, SQLException, Exception {
        fachada_basedats.eliminarcitas(cita);
    }

}
